// vim:ft=javascript

ARG_ENABLE("phar", "disable phar support", "yes");
ARG_ENABLE("phar-native-ssl", "enable phar with native OpenSSL support", "no");

if (PHP_PHAR_NATIVE_SSL != "no") {
	PHP_PHAR = PHP_PHAR_NATIVE_SSL;
}

if (PHP_PHAR != "no") {
	EXTENSION("phar", "dirstream.c func_interceptors.c phar.c phar_object.c phar_path_check.c stream.c tar.c util.c zip.c", PHP_PHAR_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
	if (PHP_PHAR_SHARED || (PHP_PHAR_NATIVE_SSL_SHARED && PHP_SNAPSHOT_BUILD == "no")) {
		ADD_FLAG("CFLAGS_PHAR", "/D COMPILE_DL_PHAR ");
	}
	if (PHP_PHAR_NATIVE_SSL != "no") {
		if (CHECK_LIB("libeay32st.lib", "phar")) {
			/* We don't really need GDI for this, but there's no
			way to avoid linking it in the static openssl build */
			ADD_FLAG("LIBS_PHAR", "libeay32st.lib gdi32.lib");
			if (PHP_DEBUG == "no") {
				/* Silence irrelevant-to-us warning in release builds */
				ADD_FLAG("LDFLAGS_PHAR", "/IGNORE:4089 ");
			}
			AC_DEFINE('PHAR_HAVE_OPENSSL', 1);
			STDOUT.WriteLine('        Native OpenSSL support in Phar enabled');
		} else {
			WARNING('Could not enable native OpenSSL support in Phar');
		}
	} else {
		if (PHP_OPENSSL != "no" && !PHP_OPENSSL_SHARED && !PHP_PHAR_SHARED) {
			AC_DEFINE('PHAR_HAVE_OPENSSL', 1);
			STDOUT.WriteLine('        Native OpenSSL support in Phar enabled');
		} else {
			STDOUT.WriteLine('        Native OpenSSL support in Phar disabled');
		}
	}
	ADD_EXTENSION_DEP('phar', 'hash');
	ADD_EXTENSION_DEP('phar', 'spl');

	ADD_MAKEFILE_FRAGMENT();
}
